1. Field of the Invention
The present invention relates to a method for the generation of static noise check data in the layout hierarchical design of an LSI.
2. Description of the Related Art
The recent advancement of high integration in LSI has made the configuration of a large-scale circuit on an LSI a real possibility. Such LSI design adopts an approach of hierarchical designing in which a circuit is partitioned into sub-circuits and is sequentially designed in a hierarchical fashion. FIG. 1 explains the 4-tier hierarchical configuration of the LSI design. In FIG. 1, it is described that the LSI design comprises the four hierarchies; chip-level hierarchy, core-level hierarchy, sub-chip SC hierarchy (i.e. divided physical blocks), and layout sub-group LSG hierarchy, and employs RAM macros and standard cells.
As shown in FIG. 2, among a plurality of sub-chips on an LSI, some have the same kind of module (logical block). In the conventional LSI layout hierarchical structure, these sub-chips with the same module have the design data with instance names so that the individual sub-chip is unique on the LSI.
Core A and core B in FIG. 2 are cores comprising the same sub-chips and core C and core D in FIG. 2 are cores also comprising the same sub-chips and these four cores have their individual database for the LSI. Because all have common parts, data volume becomes large, and design operation and design automation (DA) has great load.
FIG. 3 indicates the overall flow of an example of the conventional LSI design for the reference purpose.
Each core and sub-chip is designed after designing in the register transfer level, logic synthesis, floor planning, and hierarchical partitioning. Designing of each core and sub-chip involves the designing of the cell placement and routing, and static noise check in each core and sub-chip is performed based on the designed cell placement and routing. Designing of the cell placement and routing is repeated until the error is eliminated.
After designing of each core and sub-chip, the whole chip is designed and static noise check is performed. When the error occurs in the static noise check, the process goes back to the designing of each core and sub-chip, redesigning the whole chip and producing manufacturing data by repeating the static noise check until errors are eliminated.
FIG. 4 is a model of net path, which performs static noise check.
The victim net is a net whose noise value is calculated, and the aggressor net is a net generating noise in the victim net.
The noise value in a part between the wirings of the victim net and the aggressor net, influenced by noise, is accumulated, and by comparing the accumulated noise value with the limit value, the check whether the error has occurred is performed.
FIG. 5 explains the flow of static noise check.
As shown in FIG. 5, each wiring to be object for static noise check is considered as a victim net, it goes through processing for each victim net, and the error list is output.
In the following description, an example of processing for each victim net is explained with reference to FIG. 5.
In the step S100, first, a wiring propagating a signal which could give a noise influence to the victim net is selected as the aggressor net (filtering of the aggressor net).
In the step S200, next, 1:1 noise value of the victim net and each aggressor net is calculated, and is checked with the limit value.
In the following description, calculation of 1:1 noise value Nv11, limit value LX1 and the formula for the checking is provided.Nv11=Σ{Ln×Ka×f(C,L)}≦LX1
Ln is a length of a specific net part of the aggressor net running parallel to the adjacent area of the victim net. Ka is a check coefficient of the victim net and aggressor net. f (C,L) is a relaxation function, and is obtained from the distance and the capacitance. Cumulative calculation of the product and the sum with wiring length Ln, which is a specific net part of the aggressor net running parallel to the adjacent area of the victim net, is operated. The LX1, the limit value of the 1:1 noise, is determined by the combination of the victim net and the aggressor net.
Errors are determined in the step S300. When the check result shows errors, the error net data is stored in the step S400, and when the check result does not show any error, the process goes to the Step S500 to calculate 1:2 noise value of the victim net and each aggressor net and to check with the limit value.
In the following description, the calculation of 1:2 noise value Nv12, limit value LX2 and the formula for the checking is provided.Nv12=(Nv11a+Nv11b)×Kb≦LX2
The 1:2 noise value Nv12 expresses the noise given to the victim net by the aggressor net 1 and the aggressor net 2. Nv11a is the 1:1 noise value given to the victim net by the aggressor net 1, and Nv11b is also the 1:1 noise value given to the victim net by the aggressor net 2. Kb is a check coefficient of the victim net and the aggressor net. LX2, which is a limit value of the 1:2 noise, is determined by the combination of the victim net and the aggressor nets.
Errors are determined in the step S600. When the check result does not show errors, the process is completed, and when the check result shows any error, the process goes to the step S700 to check the timing at the timing window, then the process goes to the step S800 where errors are determined, and when the check result does not show any errors, the process is terminated, and when the check result shows an error, the process goes to the step S900 to store the error net data.
As explained above, it is required to operate the calculation for the combination of the each wiring for static noise check.
In recent years, the design of the core, for example, has the configuration with the 2˜4 same cores such as 2 cores and 4 cores, in one LSI. In such a case, those cores have individual data though design content (module) is the same, and it creates the large unnecessary data volume and great load to the design operation and DA. In the static noise check, which includes more calculation volume among the design operations, the load of the static noise check is significant.
The static noise in the LSI relating to the present invention is described in the following Non-Patent Document.
<Non-Patent Document>
    “Static Cross Talk and IR Drop Delay Analysis,” Nihon Synopsys Co., Ltd, (September 2002),    (http://www.synopsys.co.jp/marketing_pdf/staticxtalkirdrop.pdf)